perm filename BUG3.MF[MF,DEK] blob sn#750677 filedate 1984-04-20 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00004 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	delimiters ()
C00005 00003	% SEE NOTE ON NEXT PAGE!
C00020 00004	Note: seems to be reference to uninitialized memory different behavior on
C00023 ENDMK
CāŠ—;
delimiters ();
def tracingall=tracingcommands:=3;
 tracingedges:=1; tracingtitles:=1; tracingequations:=1; tracingspecs:=2;
	tracingpens:=1; tracingchoices:=1; tracingstats:=2;
 tracingonline:=1;tracingoutput:=1;tracingmacros:=3 enddef;
%tracingall;

def down=(0,-1) enddef;
def up=(0,1) enddef;
def right=(1,0) enddef;
def left=(-1,0) enddef;
def angle primary d = (cosd d, sind d) enddef;

vardef z@#=(x@#,y@#) enddef;

edges e;
e=nulledges;

def draw expr x = addto e contour x withweight 1 enddef;
def erase expr x = addto e contour x withweight -1 enddef;

openwindow 1 from (0,0) to (400,450) at (-100,200);

smoothing:=1; autorounding:=3;

def next =
 display e on 1;
 shipout e;
 e:=nulledges;
 charcode:=charcode+1;
enddef;

hppp:=240/72.27;
vppp:=hppp;
charcode:=96;
h=v=4;

z1=(6h,0); z2=(0,8v); z3=(4h,11v); z4=(10h,8v); z5=(17h,9v); z6=(18h,2v);
z0=(9h,3v);
for n:=1 step 1 until 6: z[n]a-z0 = 2(z[n]-z0); endfor
% SEE NOTE ON NEXT PAGE!
def quad(expr a,b,c,d) =
 draw a..b&b..c&c..d&d..a&cycle enddef;
def tickmarks =
 quad((-5,0),(0,0),(0,-1),(-5,-1));
 quad((205,0),(200,0),(200,-1),(205,-1));
 enddef;

tracingall;
tickmarks; next;
draw (0,0){angle 60}..(200,0){angle -60} &
      ((200,0)..(200,-100))..tension 2..((0,-100)..(0,0)) & cycle;
tickmarks; next;
draw (0,0){angle120}..(200,0){angle -60} &
      ((200,0)..(200,-100))..tension 2..((0,-100)..(0,0)) & cycle;
tickmarks; next;
draw (0,0){angle-30}..(200,0){angle -60} &
      ((200,0)..(200,-100))..tension 2..((0,-100)..(0,0)) & cycle;
tickmarks; next;
erase (0,0){angle 30}..(200,0){angle -60} &
      ((200,0)..(200,-100))..tension 2..((0,-100)..(0,0)) & cycle;
draw (0,0){angle 60}..(200,0){angle -60} &
      ((200,0)..(200,-100))..tension 2..((0,-100)..(0,0)) & cycle;
tickmarks; next;
Note: seems to be reference to uninitialized memory; different behavior on
different runs, including this.
Path at line 10, before choices:
(200,0){curl 1}
 ..(200,-100){curl 1}

Path at line 10, after choices:
(200,0)..controls (200,-33.33333) and (200,-66.66667)
 ..(200,-100)

{-(100)}
Path at line 10, before choices:
(0,-100){curl 1}
 ..(0,0){curl 1}

Path at line 10, after choices:
(0,-100)..controls (0,-66.66667) and (0,-33.33333)
 ..(0,0)

Path at line 10, before choices:
(0,0){0.86603,0.5}
 ..(200,0){0.5,-0.86601}..controls (200,2) and (475394.18102,0.00002)
 ..(0,-100)..controls (0,-66.66667) and (0,-33.33333)
 ..cycle

Path at line 10, after choices:
(0,0)..controls (73.33493,42.33983) and (163.26099,63.63289)
 ..(200,0)..controls (200,2) and (475394.18102,0.00002)
 ..(0,-100)..controls (0,-66.66667) and (0,-33.33333)
 ..cycle

(EXPR0)<-path
{addto}
Path at line 10, before subdivision into octants:
(0,0)..controls (73.33493,42.33983) and (163.26099,63.63289)
 ..(200,0)..controls (200,2) and (475394.18102,0.00002)
 ..(0,-100)..controls (0,-66.66667) and (0,-33.33333)
 ..cycle

! Curve out of range.
<recently read> ;
                 
p.3,l.10 ... 2..((0,-100)..(0,0)) & cycle;
                                          
end